package com.fuyin.dao;

import com.fuyin.dto.vo.Rzppd;
import com.fuyin.dto.vo.Zdyzb;
import com.fuyin.dto.vo.ZdyzbFz;
import com.fuyin.dto.vo.ZdyzbModel;
import com.fuyin.entity.Fxb;
import com.fuyin.entity.ModelSum;

import java.util.ArrayList;
import java.util.List;

/**
 * @author yuanxilan (yuanxilan@keep.com)
 * @Description
 * @date 2021年11月12日 3:08 下午
 * @since
 */
public interface ZbDao {

    Zdyzb getZdyzb();

    /**
     * 根据类型获取风险表
     *
     * @param type 类型
     * @return {@link List<Fxb>}
     * @author 袁希岚
     * @date 2021/11/12 <br>
     * @since
     */
    List<Fxb> getFxbByType(Integer type);

    /**
     * 获取所有风险表
     *
     * @return {@link List<Fxb>}
     * @author 袁希岚
     * @date 2021/11/12 <br>
     * @since
     */
    List<Fxb> getFxbs();

    void deleteAllFxbs(Integer type);

    /**
     * 修改风险表
     *
     * @param type 类型（0——营运能力，1——盈利能力，2——偿债能力，3——分析担保能力）
     * @param zfz  总分值
     * @param fxd  风险点
     * @param jy   建议
     * @author 袁希岚
     * @date 2021/11/12 <br>
     * @since
     */
    void insertFxb(Integer type, String zfz, String fxd, String jy);

    /**
     * 修改融资匹配度指标
     *
     * @param
     * @return
     * @author 袁希岚
     * @date 2021/11/22 <br>
     * @since
     */
    void updateRzppd(Integer newCznl, Integer newYlnl, String newBz, Double newPpd);

    /**
     * 删除所有融资匹配度指标
     *
     * @param
     * @return {@link }
     * @author 袁希岚
     * @date 2021/11/27 <br>
     * @since
     */
    void deleteAllRzppd();

    /**
     * 获取所有匹配度指标
     *
     * @param
     * @return
     * @author 袁希岚
     * @date 2021/11/23 <br>
     * @since
     */
    List<Rzppd> getRzppd();

    //修改融资模型自定义指标
    void updateZdyzbModel(String zbKey, String equation, Integer score, Integer type);

    /**
     * 获取融资模型自定义指标
     *
     * @return {@link List<ZdyzbModel>}
     * @author 袁希岚
     * @date 2021/11/23 <br>
     * @since
     */
    List<ZdyzbModel> getZdyzbModel();

    List<ModelSum> getModelSum();

    void updateFz(ZdyzbFz zdyzbFz);

    ArrayList<ZdyzbFz> getZdyzbFzs();
}
